22-1 I巹S

在 Windows 98 之前,微軟的作業系統只有提供 DOS 的批次檔案(Batch Files)來進行簡單的程式設計,以進行重複的工作,例如設定執行命令的搜尋路徑、複製大量檔案等等。但是批次檔的功能相當有限(只有簡單的條件敘述,連迴圈都需要繞好幾個彎才能達成),無法進行複雜的工作,因此當時若要在 Windows 上執行較複雜的工作(例如建立大量帳號和密碼),都只好靠其它的底稿語言(Scripting Languages),例如 Perl 等,但這些外來語言畢竟不是微軟血統出身,因此比較不能長驅直入地完成某些特定工作。

隨著 Web 的風行,VBScript 和 JavaScript 變成了相當普遍的網頁程式語言,微軟有鑑於此,於是發表了 WSH (Window Script Host),是可以在作業系統進行直接執行的程式語言,可以支援 VBScript 和 JavaScript。由於 VBScript 和 JavaScript 的完備性,使得 WSH 馬上就變成在微軟作業系統上的標準底稿語言。對於不需要介面且重複性高的管理工作,WSH 能發揮強大的功能,你可以直接從 DOS 命令列呼叫 WSH 的程式碼,也可以在檔案總管直接點選來執行。

目前 WSH 可以使用 VBScript 和 JScript,這是預設的兩種語言。但事實上,微軟為 WSH 提供了一個開放的介面,可以讓協力廠商整合他們自己的語言引擎(Language Engines),例如 Perl、Tcl、Pithon、Rexx 等。

WSH 最適合重複性高、不需要介面的工作,例如:

WSH 是跟著 Windows NT 4 Option Pack 一起發行,同時也是 Windows 98 的一部份,但是它並不會自動安裝,我們必須將它以 Windows 附加的元件來安裝。在安裝 Windows 2000 時,會一併安裝 WSH。如果你不確定你的作業系統是否已經安裝 WSH,可以在 DOS 視窗下輸入「cscript」,如果得到類似下列的回應:

Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. 用法: CScript scriptname.extension [選項...] [引數...] 選項: //B 批次模式: 不顯示 Script 錯誤和提示 //D 啟用主動式偵錯 //E:engine 使用該引擎來執行 Script //H:CScript 改變預設的 Script Host 為 CScript.exe //H:WScript 改變預設的 Script Host 為 WScript.exe (預設值) //I 互動式模式 (預設值,與 //B 恰相反) //Job:xxxx 執行一個 WSF 工作 //Logo 顯示標誌 (預設值) //Nologo 不顯示標誌: 在執行階段不會出現標誌 //S 為使用者儲存目前的命令行 //T:nn 逾時值(單位為秒): 容許 Script 執行的最大時限 //X 在偵錯工具中執行 Script //U 利用 Unicode 從主控台上重新引導 I/O 就表示你的作業系統已經安裝了 WSH,而且版本是 5.6。

如果你的 DOS 視窗無法執行 cscript,就表示你的作業系統沒有安裝 WSH,你可以從微軟的網頁來下載最新的 WSH,網址如下:

http://www.microsoft.com/downloads/details.aspx?familyid=C717D943-7E4B-4622-86EB-95A22B832CAA&displaylang=en

Hint
如果上述網址已經失效,請直接到 www.google.com 輸入「wsh download」來進行搜尋,就可找到 WSH 的下載網址。


JScript 程式設計與應用:用於單機的 WSH 環境